package org.wanda.pv.model.business;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.nutz.dao.entity.annotation.*;
import org.wanda.pv.framework.base.BaseModel;
import org.wanda.pv.model.hy.HyProjectInfo;
import org.wanda.pv.model.hy.HyUserInfo;

/**
 * @author lxy
 * Created by 2019/1/3 14:10
 */
@Table("wd_project_check_notice")
public class ProjectCheckNotice extends BaseModel {
	@Column
	@Id
	@Prev(els = {@EL("$me.idGen()")})
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;

	@Comment("项目ID")
	@Column("hy_project_id")
	private String hyProjectId;



	@Column
	private String message;

	@Column
	@Comment("通知的审查进度，是对于整个项目而言的 0：初审状态 1：会审状态 2：复审中 3：复审结束")
	private int noticeType;

	@Column("hy_user_info_id")
	private Long hyUserInfoId;

	@Column("project_check_state_id")
	private Long projectCheckStateId;

	@One(field = "hyUserInfoId")
	private HyUserInfo hyUserInfo;

	@One(field = "hyProjectId")
	private HyProjectInfo hyProjectInfo;

	@One(field = "projectCheckStateId")
	private ProjectCheckState projectCheckState;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getHyProjectId() {
		return hyProjectId;
	}

	public void setHyProjectId(String hyProjectId) {
		this.hyProjectId = hyProjectId;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public Long getHyUserInfoId() {
		return hyUserInfoId;
	}

	public void setHyUserInfoId(Long hyUserInfoId) {
		this.hyUserInfoId = hyUserInfoId;
	}

	public Long getProjectCheckStateId() {
		return projectCheckStateId;
	}

	public void setProjectCheckStateId(Long projectCheckStateId) {
		this.projectCheckStateId = projectCheckStateId;
	}

	public HyUserInfo getHyUserInfo() {
		return hyUserInfo;
	}

	public void setHyUserInfo(HyUserInfo hyUserInfo) {
		this.hyUserInfo = hyUserInfo;
	}

	public HyProjectInfo getHyProjectInfo() {
		return hyProjectInfo;
	}

	public void setHyProjectInfo(HyProjectInfo hyProjectInfo) {
		this.hyProjectInfo = hyProjectInfo;
	}

	public ProjectCheckState getProjectCheckState() {
		return projectCheckState;
	}

	public void setProjectCheckState(ProjectCheckState projectCheckState) {
		this.projectCheckState = projectCheckState;
	}

	public int getNoticeType() {
		return noticeType;
	}

	public void setNoticeType(int noticeType) {
		this.noticeType = noticeType;
	}
}
